package com.eduplatform.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * AI生成试卷请求数据传输对象
 */
@Data
public class AIPaperGenerateDTO {

    /**
     * 试卷标题
     */
    @NotBlank(message = "试卷标题不能为空")
    private String title;

    /**
     * 学科ID
     */
    @NotNull(message = "学科不能为空")
    private Long subjectId;

    /**
     * 教育阶段：1-小学，2-初中，3-高中，4-大学
     */
    @NotNull(message = "教育阶段不能为空")
    private Integer educationLevel;

    /**
     * 考试时长（分钟）
     */
    @NotNull(message = "考试时长不能为空")
    private Integer duration;

    /**
     * 总分
     */
    @NotNull(message = "总分不能为空")
    private Integer totalScore;

    /**
     * 试卷难度等级（1-5）
     */
    private Integer difficulty;

    /**
     * 内容关键词
     */
    private String keywords;

    /**
     * AI提示词
     */
    private String prompt;

    /**
     * 题型配置列表
     */
    private List<QuestionTypeConfig> questionTypes;

    /**
     * 题型配置内部类
     */
    @Data
    public static class QuestionTypeConfig {
        /**
         * 题型：1-单选题，2-多选题，3-判断题，4-填空题，5-简答题
         */
        private Integer type;

        /**
         * 题目数量
         */
        private Integer count;
    }
}